package com.hhf.rpc.core.enums;

import lombok.Getter;

/**
 * @Author hhf
 * @Date 2024/10/19
 * @Description
 */
@Getter
public enum ProtocolMessageTypeEnum {

    /**
     * 请求
     */
    REQUEST(0),
    /**
     * 响应
     */
    RESPONSE(1),
    /**
     * 心跳检测
     */
    HEAT_BEAT(2),
    /**
     * 其他
     */
    OTHER(3);


    private final int key;

    ProtocolMessageTypeEnum(int key){
        this.key = key;
    }

    /**
     * 根据key获取枚举类
     * @param key
     * @return
     */
    public static ProtocolMessageTypeEnum getEnumByKey(int key){
        for (ProtocolMessageTypeEnum typeEnum: ProtocolMessageTypeEnum.values()){
            if (key == typeEnum.key){
                return typeEnum;
            }
        }
        return null;
    }
}
